# 数据类型转换
'''
    数据类型
    字符串 string
    数字类型 Number
        整型 int
        浮点数 float
        复数
        布尔 bool
    列表 list
    元组 tuple
    字典 dict
    集合 set

    可变数据类型：字典，列表，集合
    不可变数据类型：字符串，数字，元组

    容器类型数据：字符串，列表，元组，集合，字典
    非容器类型数据：数字，布尔
'''

# 数据类型转换
'''
    不同的数据类型之间不能进行运算
    转换形式：
    自动类型转换
    强制类型转换
'''
# 自动类型转换
a = 123
b = True # 在和数字运算时， True转换为数字1，False转换为数字 0
print(a+b) # 124

'''
    if 表达式
        真区间
    else:
        假区间
'''
# 数字转换为布尔
if a:
    print('真')
else:
    print('假')

# 强制类型转换
'''
    以下函数可以将数据类型转换为相应的数据类型
    str()
    int()
    float()
    bool()
    list()
    tuple()
    dict()
    set()
'''

s = '123'

print(s, type(s)) # 123 <class 'str'>
res = int(s)
print(res, type(res)) # 123 <class 'int'>
# 所有的其他类型的数据都能转换为字符串类型
# 字符串转换为数字类型，只有当字符串为纯数字的时候，可以转换，其他的不能转换
'''
    bool() 转换为False情况
    ''
    0
    0.0
    False
    {}
    []
    ()
    set() 
'''

